Frontend Origin Private Directory (OPFS) bilan tanishing, veb-ilovaning originida izolyatsiya qilingan papkalarni boshqarish imkonini beruvchi kuchli API. Uning afzalliklari, foydalanish holatlari va zamonaviy veb-ishlanmalari haqida bilib oling.
Frontend Origin Private Directory: Izolyatsiya qilingan papkalarni boshqarish
Veb sezilarli darajada rivojlandi va u bilan frontend ishlab chiquvchilariga qo'yiladigan talablar ham o'zgardi. Biz endi oddiygina statik veb-saytlarni yaratmayapmiz; biz ko'pincha oflayn funksionallik, xavfsiz ma'lumotlarni saqlash va samarali fayllarni boshqarishni talab qiladigan murakkab ilovalarni qurmoqdamiz. Frontend Origin Private Directory (OPFS) bilan tanishing, veb-ilovalar o'z originida fayllarni qanday boshqarishini inqilob qiluvchi yangi API. Ushbu blog posti OPFS kuchini tushunish va undan foydalanish bo'yicha keng qamrovli qo'llanma beradi.
Origin Private File System (OPFS) nima?
Origin Private File System (OPFS) File System Access API ga yangi kuchli qo'shimcha hisoblanadi. U veb-ilovaning originida maxsus, shaxsiy va izolyatsiya qilingan saqlash maydonini taqdim etadi. Uni veb-ilovingiz tomonidan faqat ishlatilishi mumkin bo'lgan xavfsiz, sandboxed papka deb tasavvur qiling, bu an'anaviy brauzer saqlash yechimlari, masalan, `localStorage` yoki hatto eski File System API ga nisbatan ancha yaxshi ishlash va imkoniyatlarni taklif etadi.
OPFS ning asosiy xususiyatlari:
- Izolyatsiya qilingan saqlash: OPFS ichida saqlangan ma'lumotlar faqat uni yaratgan ilova uchun mavjud bo'lib, maxfiylik va xavfsizlikni ta'minlaydi.
- Yuqori ishlash: OPFS operatsion tizimning fayl tizimi bilan bevosita integratsiyalashadi, bu esa muqobillarga nisbatan sezilarli darajada tezroq o'qish/yozish tezligini ta'minlaydi.
- Kengaytirilgan imkoniyatlar: An'anaviy fayl tizimining funksiyasini taqlid qilib, tasodifiy kirish o'qish/yozish, oqimlash va katalog operatsiyalari kabi operatsiyalarni qo'llab-quvvatlaydi.
- Oflayn rejimda foydalanish: Ishlab chiquvchilarga oflayn rejimda uzluksiz ishlay oladigan veb-ilovalarni yaratishga imkon beradi, bu esa boyroq foydalanuvchi tajribasini taqdim etadi.
Nima uchun OPFS dan foydalanish kerak? Veb-ishlab chiqish uchun afzalliklar
OPFS zamonaviy veb-ishlab chiqish uchun, ayniqsa, Progressiv Veb Ilovalari (PWA) va fayllarni boshqarishning mustahkam imkoniyatlarini talab qiladigan ilovalar uchun majburiy afzalliklar to'plamini taklif etadi. Asosiy afzalliklarga batafsil nazar tashlaymiz:
1. Ishlash yaxshilandi
OPFS ning eng muhim afzalliklaridan biri uning ishlashining yaxshilanishidir. OPFS operatsion tizimining asosiy fayl tizimi bilan bevosita o'zaro ta'sir qilish orqali JavaScript-da fayl tizimi operatsiyalarini taqlid qilish bilan bog'liq xarajatlardan qochadi. Bu quyidagilarga olib keladi:
- Fayllarni tezroq o'qish/yozish: Katta fayllar, media aktivlari yoki ma'lumotlarning tez-tez yangilanishini boshqarish uchun juda muhim.
- Kechikishni kamaytirish: Ilovalarning javob berish qobiliyatini yaxshilaydi, foydalanuvchi tajribasini yaxshilaydi.
- Resurslardan optimallashtirilgan foydalanish: Brauzer resurslarini bo'shatadi, bu esa silliq ishlashga va umumiy ilovaning yaxshi ishlashiga olib keladi.
Foto tahrirlash ilovasini ko'rib chiqing. Rasm ma'lumotlarini doimiy ravishda xotiraga yuklash va u erda boshqarish o'rniga (bu sekin va xotira talab qilishi mumkin), OPFS foydalanuvchi qurilmasida rasm fayllarini samarali saqlash va o'zgartirish imkonini beradi. O'zgarishlar butun tasvirni bir vaqtning o'zida xotirada ushlab turmasdan, faylga oqim bilan uzatilishi mumkin.
2. Xavfsizlik va maxfiylikni yaxshilash
OPFS xavfsiz, izolyatsiya qilingan saqlash muhitini ta'minlaydi. Bu quyidagilarni anglatadi:
- Ma'lumotlarni izolyatsiya qilish: Boshqa veb-saytlar yoki ilovalar ilovangizning OPFS-da saqlangan ma'lumotlarga kira olmaydi, bu esa ruxsatsiz kirish yoki ma'lumotlar buzilishining oldini oladi.
- Cross-Site Scripting (XSS) dan himoya qilish: OPFS boshqa originlardan skriptlarga bevosita ta'sir qilmaydi, bu esa XSS hujumlarining xavfini kamaytiradi.
- Nozik ma'lumotlarni xavfsiz saqlash: Foydalanuvchi tomonidan yaratilgan kontent, ilova konfiguratsiyasi yoki boshqa nozik ma'lumotlarni xavfsiz saqlash uchun mos keladi. Bu ayniqsa, moliyaviy ma'lumotlar, tibbiy yozuvlar yoki boshqa shaxsiy ma'lumotlar bilan ishlaydigan, global miqyosda ma'lumotlar maxfiyligi qoidalariga rioya qiladigan ilovalar uchun foydalidir.
3. Mustahkam oflayn imkoniyatlar
OPFS mukammal oflayn funksionallikka ega PWA-larni yaratish uchun o'yinni o'zgartiruvchidir. U sizga quyidagilarga imkon beradi:
- Ilovaning aktivlarini oflayn saqlash: Internetga ulanish bo'lmasa ham, bir zumda yuklash uchun HTML, CSS, JavaScript va rasmlar kabi statik aktivlarni keshlang.
- Foydalanuvchi tomonidan yaratilgan kontentni keshlang: Foydalanuvchi ma'lumotlarini, hujjatlarni yoki boshqa fayllarni mahalliy ravishda saqlang, ularni oflayn rejimda ishlatish imkoniyatini yarating. Bu, masalan, eslatmalar ilovalari, oflayn hujjat muharrirlari yoki hatto ishonchsiz tarmoq ulanishi bo'lgan joylarda ishlaydigan ilovalar uchun muhimdir.
- Uzluksiz oflayn tajriba taqdim etish: Foydalanuvchilar internetga ulanishidan qat'iy nazar, ilova bilan o'zaro aloqada bo'lishlari va ma'lumotlariga kirishlari mumkin. Yangi mamlakatni o'rganayotganda foydalanuvchilarga xaritalar va marshrutlardan hatto oflayn rejimda ham foydalanishga imkon beradigan sayohat ilovasini tasavvur qiling.
4. Fayllarni boshqarishning yaxshilangan imkoniyatlari
OPFS an'anaviy brauzer saqlash mexanizmlariga nisbatan fayllarni boshqarishning yanada soddalashtirilgan va samarali usulini taqdim etadi. U ishlab chiquvchilar mahalliy ilovalarda foydalanishga odatlangan fayl va katalog manipulyatsiya xususiyatlarini taqdim etadi, jumladan:
- Yaratish, o'qish, yangilash, o'chirish (CRUD) operatsiyalari: Standart fayl operatsiyalarini samarali ravishda bajaring.
- Kataloglarni boshqarish: OPFS ichida kataloglarni yaratish, o'chirish va ro'yxatlash.
- Oqim: Katta fayllar bilan optimal ishlash uchun fayllarga ma'lumotlar oqimini uzatish. Bu video muharrirlar, audio protsessorlar va katta media fayllar bilan ishlaydigan boshqa ilovalar uchun juda mos keladi.
OPFS dan foydalanish holatlari
OPFS ko'p qirrali va veb-ilovalarning keng doirasiga qo'llanilishi mumkin. Mana bir nechta mashhur foydalanish holatlari:
1. Progressiv Veb Ilovalari (PWAs)
PWAs veb-brauzer ichida ilova kabi tajriba taklif qilish uchun mo'ljallangan. OPFS PWA imkoniyatlarini yaxshilash uchun juda mos keladi, jumladan:
- Oflayn-birinchi strategiya: Internetga ulanish bo'lmasa ham, uzluksiz tajriba taqdim etish uchun ilova ma'lumotlari va aktivlarini mahalliy ravishda saqlang. Masalan, foydalanuvchilar oflayn rejimda darslarni yuklab olishlari va mashq qilishlari mumkin bo'lgan til o'rganish ilovasini tasavvur qiling.
- Ishlashni yaxshilash: OPFS PWA-larga tezroq yuklash va ishlashga yordam beradi, bu esa ko'proq javob beradigan va qiziqarli foydalanuvchi tajribasini taklif etadi.
- Foydalanuvchi tajribasini yaxshilash: Hujjatlar, rasmlar va boshqa foydalanuvchi tomonidan yaratilgan kontentga oflayn kirish kabi boy xususiyatlarni yoqadi, bu esa yanada qiziqarli va foydalanuvchilar uchun qulay tajriba yaratadi.
2. Rasm va video muharrirlari
Veb-ga asoslangan rasm va video muharrirlari OPFS dan sezilarli darajada foyda olishlari mumkin:- Tezroq yuklash va saqlash: OPFS tezroq o'qish va yozish operatsiyalarini yoqadi, bu esa rasm va videolarni yuklash, tahrirlash va saqlash ishlarini yaxshilaydi.
- Katta fayllarni boshqarish: Katta media fayllarni to'g'ridan-to'g'ri OPFS ga uzatish, xotira sarfini kamaytirish va javobgarlikni oshirish. Bu foydalanuvchilarga brauzer ishlashidagi to'siqlarsiz yuqori pikselli rasmlar va videolar bilan ishlash imkonini beradi.
- Media aktivlarini mahalliy saqlash: Foydalanuvchilar o'z loyihalari va media fayllarini hatto oflayn rejimda ham mahalliy ravishda saqlashlari mumkin, bu esa yanada moslashuvchan va qulay tahrirlash tajribasini ta'minlaydi. Bu ayniqsa, internetga cheklangan kirishi bo'lgan foydalanuvchilar uchun, masalan, ulanish sifati past bo'lgan hududlarda masofadan turib ishlaydiganlar uchun muhimdir.
3. Hujjat muharrirlari
Veb-ga asoslangan hujjat muharrirlari yaxshilangan saqlash va ishlash uchun OPFS dan foydalanishlari mumkin:- Oflayn rejimda foydalanish: Foydalanuvchilar internetga ulanish bo'lmasa ham, o'z hujjatlariga kirishlari va ularni tahrirlashlari mumkin. Masalan, maqola ustida ishlayotgan jurnalistni tasavvur qiling.
- Mahalliy saqlash: Hujjatlar mahalliy ravishda OPFS da saqlanadi, faqat bulutli saqlashga tayanib qolish ehtiyojini yo'q qiladi va tarmoq kechikishining ta'sirini kamaytiradi.
- Versiya nazorati: Hujjatning oldingi versiyalariga osongina qaytish uchun mahalliy versiya nazoratini amalga oshiring.
4. O'yinlar va simulyatsiyalar
Veb-ga asoslangan o'yinlar va simulyatsiyalar ma'lumotlarni boshqarish uchun OPFS dan foydalanishlari mumkin:- O'yinlarni mahalliy saqlash: O'yinning progressi, sozlamalari va foydalanuvchi ma'lumotlarini tezkor kirish va uzluksizlik uchun mahalliy ravishda saqlang. Bu o'yinchilarning har safar qayta tashrif buyurganlarida o'yinni qayta boshlash zaruratini yo'q qiladi.
- Optimallashtirilgan aktivlarni yuklash: O'yin aktivlarini, masalan, teksturalar, modellar va audio fayllarni OPFS dan to'g'ridan-to'g'ri yuklash, yuklash vaqtini tezlashtirish va ishlashni yaxshilash.
- Oflayn o'yin: O'yin ma'lumotlari va aktivlarini mahalliy ravishda keshlash orqali oflayn o'ynash imkoniyatini yarating.
5. Ma'lumotlarga asoslangan ilovalar
Katta ma'lumotlar to'plamlari bilan ishlaydigan ilovalar OPFS dan foyda olishlari mumkin:- Samarali ma'lumotlarni saqlash: OPFS da katta ma'lumotlar to'plamlarini tezroq kirish va boshqarish uchun saqlang.
- Oflayn ma'lumotlarga kirish: Muhim ma'lumotlarga oflayn kirish imkoniyatini bering. Misol uchun, birja savdosi ilovasi oflayn tahlil qilish uchun tarixiy ma'lumotlarni mahalliy ravishda saqlashi mumkin.
- Ishlashni yaxshilash: Ma'lumotlarga to'g'ridan-to'g'ri OPFS dan kirish orqali kechikishni kamaytiring va umumiy ilovaning ishlashini yaxshilang.
OPFS ni amalga oshirish: amaliy qo'llanma
OPFS ni amalga oshirish bir nechta asosiy qadamlarni talab qiladi. Mana qanday boshlash bo'yicha soddalashtirilgan umumiy ko'rinish:
1. Xususiyatni aniqlash
OPFS dan foydalanishdan oldin, brauzer uni qo'llab-quvvatlayotganini tekshiring:
if ('showOpenFilePicker' in window) {
// OPFS qo'llab-quvvatlanadi
// Amalga oshirishni davom ettiring
} else {
// OPFS qo'llab-quvvatlanmaydi
// localStorage yoki IndexedDB kabi muqobil saqlash mexanizmlariga qayting
}
2. OPFS ga kirish
OPFS ning asosiy kirish nuqtasi `navigator.storage.getDirectory()` usuli orqali amalga oshiriladi. Ushbu usul ilovangizning OPFS ning asosiy katalogini ifodalovchi `FileSystemDirectoryHandle` obyektini qaytaradi. Barcha fayl va katalog operatsiyalaringiz aynan shu yerdan boshlanadi.
async function getOPFSRoot() {
try {
const handle = await navigator.storage.getDirectory();
return handle;
} catch (error) {
console.error('OPFS ga kirishda xato:', error);
return null;
}
}
3. Fayllarni yaratish va boshqarish
`FileSystemDirectoryHandle` yordamida siz fayllarni yaratish, o'qish, yozish va o'chirish kabi umumiy fayl operatsiyalarini bajarishingiz mumkin. Mana yangi faylni yaratish va unga ma'lumotlarni yozish usuli:
async function writeFile(directoryHandle, fileName, content) {
try {
const fileHandle = await directoryHandle.getFileHandle(fileName, { create: true });
const writable = await fileHandle.createWritable();
await writable.write(content);
await writable.close();
console.log("Fayl muvaffaqiyatli yozildi:", fileName);
} catch (error) {
console.error("Fayl yozishda xato:", error);
}
}
async function exampleUsage() {
const root = await getOPFSRoot();
if (root) {
const fileContent = "Salom, OPFS! Bu ba'zi namuna ma'lumotlari.";
await writeFile(root, "myFile.txt", fileContent);
}
}
Ushbu kod ilovangizning OPFS ichida `myFile.txt` nomli faylni yaratadi va unga belgilangan kontentni yozadi. `create: true` opsiyasi fayl allaqachon mavjud bo'lmasa, u yaratilishini ta'minlaydi. Agar fayl allaqachon mavjud bo'lsa, u o'zgartiriladi.
4. Fayllarni o'qish
OPFS dan fayllarni o'qish ham shunchaki:
async function readFile(directoryHandle, fileName) {
try {
const fileHandle = await directoryHandle.getFileHandle(fileName);
const file = await fileHandle.getFile();
const content = await file.text();
console.log("Fayl mazmuni:", content);
return content;
} catch (error) {
console.error("Faylni o'qishda xato:", error);
return null;
}
}
async function exampleRead() {
const root = await getOPFSRoot();
if (root) {
const content = await readFile(root, 'myFile.txt');
if(content) {
console.log('O'qilgan mazmun: ', content);
}
}
}
Ushbu kod faylning mazmunini oladi va ularni konsolga yozadi.
5. Kataloglarni boshqarish
OPFS shuningdek, katalog manipulyatsiyasiga ham imkon beradi:
async function createDirectory(directoryHandle, directoryName) {
try {
const newDirectoryHandle = await directoryHandle.getDirectoryHandle(directoryName, { create: true });
console.log("Katalog muvaffaqiyatli yaratildi:", directoryName);
return newDirectoryHandle;
} catch (error) {
console.error("Katalog yaratishda xato:", error);
return null;
}
}
async function listDirectoryContents(directoryHandle) {
try {
const items = [];
for await (const [name, handle] of directoryHandle) {
items.push({
name: name,
type: handle.kind,
});
}
console.log("Katalog mazmuni:", items);
return items;
} catch (error) {
console.error("Katalog mazmunini ro'yxatlashda xato:", error);
return [];
}
}
async function exampleDirectoryOperations() {
const root = await getOPFSRoot();
if (root) {
const newDir = await createDirectory(root, 'myDirectory');
if (newDir) {
await writeFile(newDir, "nestedFile.txt", "Ichki katalog ichidagi mazmun.");
await listDirectoryContents(root);
}
}
}
Ushbu misol katalog yaratadi, katalog ichiga fayl yozadi va uning mazmunini ro'yxatga oladi. Ushbu katalog operatsiyalari fayllaringiz va ma'lumotlaringizni OPFS ichida mantiqiy ravishda tashkil qilish imkonini beradi.
6. Xatolarni boshqarish va fallbaklar
Mustahkam xatolarni boshqarish juda muhimdir. Har doim potentsial muammolarni kutish kerak, masalan:
- Brauzer mosligi: OPFS foydalanuvchining brauzeri tomonidan qo'llab-quvvatlanishini ta'minlang.
- Ruxsatlar: Agar kerak bo'lsa, ruxsat so'rovlarini bajaring. Foydalanuvchilar ilovangizga OPFS ga kirishga ruxsat berishlari kerak.
- Disk maydoni cheklovlari: Mavjud disk maydoniga e'tibor bering va foydalanuvchiga tegishli ma'lumot bering.
- Faylga kirish xatolari: Fayl operatsiyalari paytida potentsial xatolarni boshqarish uchun `try...catch` bloklarini amalga oshiring.
OPFS qo'llab-quvvatlanmaydigan holatlarda, ilova funksionalligini saqlab qolish uchun `localStorage`, `IndexedDB` yoki hatto masofaviy server kabi muqobil saqlash mexanizmlariga muloyimlik bilan qayting. Turli brauzerlar va qurilmalar bo'ylab moslikni ta'minlash uchun xususiyatlarni aniqlash va progressiv yaxshilash texnikasini ko'rib chiqing, texnologik afzalliklari yoki joylashuvidan qat'iy nazar, butun dunyo bo'ylab barcha foydalanuvchilar uchun yagona tajriba yaratadi.
OPFS dan foydalanishning eng yaxshi amaliyoti
OPFS ning afzalliklarini maksimal darajada oshirish uchun ushbu eng yaxshi amaliyotlarga amal qiling:
- To'g'ri saqlash yechimini tanlang: OPFS sizning maxsus ehtiyojlaringiz uchun eng yaxshi variant ekanligini sinchkovlik bilan baholang. Oddiy ma'lumotlarni saqlash uchun `localStorage` etarli bo'lishi mumkin. Murakkab ma'lumotlar tuzilmalari va katta hajmdagi ma'lumotlar uchun `IndexedDB` hali ham mos kelishi mumkin. OPFS yuqori ishlashli fayl I/O muhim bo'lganda porlaydi.
- Fayl operatsiyalarini optimallashtirish: Asosiy ipni bloklamaslik va javob beruvchi foydalanuvchi interfeysini saqlab qolish uchun asinxron operatsiyalardan (`async/await` yoki Promises) foydalaning.
- Disk maydonini boshqarish: Ayniqsa, katta fayllar bilan ishlashda disk maydonidan foydalanishni boshqarish tizimini amalga oshiring. Foydalanuvchilarga ma'lumotlarini boshqarish va keraksiz fayllarni olib tashlash imkoniyatini berishni ko'rib chiqing. Aniqlik vaqtini boshqarish strategiyasini amalga oshiring.
- Foydalanuvchi ruxsatlarini boshqarish: Fayl tizimiga kirish zarurligini foydalanuvchiga aniq ma'lum qiling va ularning ma'lumotlaridan qanday foydalanish haqida aniq tushuntirish bering. Bu ishonchni mustahkamlaydi va turli mamlakatlarda ma'lumotlar maxfiyligi qoidalarini hurmat qilgan holda foydalanuvchi tajribasini yaxshilaydi.
- Xavfsizlik bilan bog'liq masalalar: OPFS da saqlashdan oldin har doim foydalanuvchi kiritishini va ma'lumotlarni tasdiqlang. Potentsial xavfsizlik zaifliklaridan himoya qiling. OPFS izolyatsiyani ta'minlasa-da, yaxshi xavfsizlik amaliyoti muhimdir.
- Progressiv yaxshilash: Ilovangiz OPFS mavjud bo'lmagan taqdirda ham ishlashi uchun loyihalash. Mos keladigan saqlash yechimiga qaytish mexanizmini amalga oshiring.
- Sinov: Izchil xulq-atvor va ishlashni ta'minlash uchun ilovangizni turli brauzerlar va qurilmalarda sinchkovlik bilan sinab ko'ring. Turli muhitlarda, tarmoq sharoitlari va qurilma xususiyatlarini hisobga olgan holda, sinovdan o'tkazing.
Cheklovlar va e'tiborga olinishi kerak bo'lgan jihatlar
OPFS kuchli vosita bo'lsa-da, uning cheklovlaridan xabardor bo'lish juda muhim:
- Brauzerni qo'llab-quvvatlash: OPFS nisbatan yangi API hisoblanadi va brauzerni qo'llab-quvvatlash farq qilishi mumkin. Iloyangizni turli brauzerlar va qurilmalarda sinab ko'ring.
- Disk maydoni chegaralari: Brauzer implementatsiyalari disk maydoni cheklovlarini belgilashi mumkin. Bo'sh joyni samarali boshqarish strategiyalarini, masalan, eski ma'lumotlarni tozalash yoki fayllarni siqishni amalga oshiring. Ushbu cheklovlar brauzerlarga va ularning konfiguratsiyalariga qarab farq qiladi.
- Ma'lumotlar uzluksizligi: OPFS da saqlangan ma'lumotlar uzluksiz bo'lsa-da, foydalanuvchi brauzer ma'lumotlarini tozalashi mumkin va u abadiy davom etishiga kafolat yo'q. Ilovangizning hujjatlarida bu haqda foydalanuvchiga xabar bering va agar foydalanuvchi o'z ma'lumotlarining saqlanishini kutsa, ma'lumotlarni qayta yuklab olish yoki sinxronlashtirish osonlashtiring.
- Foydalanuvchi ruxsati: Foydalanuvchilar OPFS ga kirish uchun ruxsat berishlari kerak.
- Cross-Origin Kirish yo'q: OPFS da saqlangan ma'lumotlar sizning originizga izolyatsiya qilingan.
Xulosa
Frontend Origin Private Directory (OPFS) veb-ilovalarida fayllarni boshqarishga o'zgartiruvchi yondashuvni taklif etadi. Uning ishlash afzalliklari, xavfsizlikni yaxshilashi va oflayn imkoniyatlari uni zamonaviy veb-ishlab chiqish uchun majburiy tanlovga aylantiradi. Uning xususiyatlarini tushunish, eng yaxshi amaliyotlarni qo'llash va uning cheklovlarini hisobga olish orqali ishlab chiquvchilar OPFS dan yuqori unumdorlikka ega, xavfsiz va xususiyatlarga boy veb-ilovalarni yaratish uchun foydalanishlari mumkin, bu esa ajoyib foydalanuvchi tajribasini taqdim etadi. PWA, rasm muharriri yoki ma'lumotlarga asoslangan ilovani yaratayotgan bo'lsangiz ham, OPFS yangi funksionallik va ishlash darajasini ochish potentsialiga ega. Ushbu texnologiyani qabul qiling va keyingi avlod veb-tajribalarini qurishni boshlang.
Veb rivojlanib borar ekan, samarali, xavfsiz va foydalanuvchilar uchun qulay fayllarni boshqarishga bo'lgan ehtiyoj tobora ortib bormoqda. OPFS ushbu talablarni qondirish va veb-ishlab chiqishning kelajagini global miqyosda shakllantirish uchun vositalarni taqdim etadi. Ushbu qiziqarli veb-texnologiyalari sohasida keyingi yutuqlar va doimiy yangiliklar uchun kuzatib boring.